/*
 *    Copyright (c) 2018-2025, bfcloud All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: bfcloud
 */

import request from '@/router/axios'

export function fetchTree(query) {
  return request({
    url: '/admin/dept/tree',
    method: 'get',
    params: query
  })
}

export function addObj(obj) {
  return request({
    url: '/admin/dept/',
    method: 'post',
    data: obj
  })
}

export function getObj(id) {
  return request({
    url: '/admin/anonymous/dept/' + id,
    method: 'get'
  })
}

export function getTreeList() {
  return request({
    url: '/admin/dept/getDeptList/',
    method: 'get'
  })
}

export function delObj(id) {
  return request({
    url: '/admin/dept/' + id,
    method: 'delete'
  })
}

export function putObj(obj) {
  return request({
    url: '/admin/dept/',
    method: 'put',
    data: obj
  })
}

// 获取多部门信息
export function getIds(ids) {
  return request({
    url: '/admin/anonymous/dept/ids/' + ids,
    method: 'get'
  })
}


// 获取部门子节点
export function getSubNode(deptId) {
  return request({
    url: '/admin/dept/getDescendantList/' + deptId,
    method: 'get'
  })
}

// 通过Pid查询
export function getPid(pid) {
  return request({
    url: '/admin/dept/getPid/' + pid,
    method: 'get'
  })
}

// 通过用户Id查询奖金管理员的部门
export function getJiangJinBm() {
  return request({
    url: '/admin/dept/getJiangJinBm/',
    method: 'get'
  })
}

// 通过用户Id查询奖金管理员的部门（待开发：奖金管理员换成合同管理员）
export function gethetongBm() {
  // return request({
  //   url: '/admin/dept/getJiangJinBm/',
  //   method: 'get'
  // })
}

// 判断部门领导，奖金管理员是否重复
export function haveRepetManger(deptId, userId, state, leader) {
  return request({
    url: '/admin/dept/haveRepetManger/' + deptId + '/' + userId + '/' + state + '/' + leader,
    method: 'get'
  })
}

//获取指定部门及递归的所有下级部门
export function getUnderDept(query) {
  return request({
    url: '/admin/dept/getUnderDept',
    method: 'get',
    params: query
  })
}
